﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Cvk.FAQs;

namespace BatDongSan.Modules
{
    public partial class FQADetail : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                int FQAId = Convert.ToInt32(Request.QueryString["id"]);
                if (FQAId > 0)
                {
                    lbTitle.Text = "HỎI - ĐÁP / " + FAQBll.claFAQCategory.GetNameById(Utility.strConnect, (int)FAQBll.claFAQs.GetFQAById(FQAId,Utility.strConnect).FQACategoryId).ToUpper();
                }
                if (!IsPostBack)
                {
                    LoadData(FQAId);
                }
            }
            catch { }
        }
        protected void LoadData(int FQAId)
        {
            Cvk_FQA Info = FAQBll.claFAQs.GetFQAById(FQAId, Utility.strConnect);
            lbName.Text = "Người gửi: <b>" + Info.Name+"</b>";
            lbDateCreate.Text = "Ngày gủi: " + string.Format("{0:dd/MM/yyyy}", Info.CreateDate);
            lbView.Text = "Lần xem: " + Info.View.ToString();
            lbReply.Text = "Trả lời: " + FAQBll.claReply.GetListCount(FQAId, true, Utility.strConnect).ToString();
            ltrContent.Text = Info.Question;
            rptAnswers.DataSource = FAQBll.claReply.GetReplyByFQAId(FQAId, Utility.strConnect);
            rptAnswers.DataBind();
        }

        protected void btReply_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(txtName.Text.Trim()))
                {
                    lbStatus.Text = "Tên liên hệ không được để trống.";
                    return;
                }
                if (string.IsNullOrEmpty(txtEmail.Text.Trim()))
                {
                    lbStatus.Text = "Tên liên hệ không được để trống.";
                    return;
                }
                if (cvk.AppCode.WebUtility.IsValidEmail(txtEmail.Text.Trim()) == false)
                {
                    lbStatus.Text = "Email liên hệ không hợp lệ.";
                    return;
                }
                if (Utility.RemoveHtml(fckContent.Value).Length < 20)
                {
                    lbStatus.Text = "Nội dung câu hỏi cấn > 20 ký tự.";
                    return;
                }
                int FAQId = Convert.ToInt32(Request.QueryString["id"]);
                Cvk_Reply Info = new Cvk_Reply();
                Info.FQAId = FAQId;
                Info.CreateDate = DateTime.Now;
                Info.Email = txtEmail.Text.Trim();
                
                Info.IPAddress = Request.UserHostAddress;
                Info.IsActive = false;
                Info.Name = txtName.Text.Trim();
                
                Info.Answer = fckContent.Value.Trim();
                

                if (FAQBll.claReply.Add(Info, Utility.strConnect) > 0)
                {
                    lbStatus.Text = "Bạn đã gửi trả lời thành công.";
                    reset();
                }
                else
                {
                    lbStatus.Text = "Có lỗi trong quá  trình gửi câu trả lời.";
                }

            }
            catch { }
        }

        protected void reset()
        {
            txtEmail.Text = "";
            txtName.Text = "";
            fckContent.Value = "";
        }

        protected void rptAnswers_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            try
            {
                if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
                {
                    Cvk_Reply Info = (Cvk_Reply)e.Item.DataItem;
                    Label lbNameAnswer = (Label)e.Item.FindControl("lbNameAnswer");
                    lbNameAnswer.Text = "Người gửi: <b>" + Info.Name + "</b>";

                    Label lbDateCreateAnswer = (Label)e.Item.FindControl("lbDateCreateAnswer");
                    lbDateCreateAnswer.Text = "Ngày gủi: " + string.Format("{0:dd/MM/yyyy}", Info.CreateDate);

                    Literal ltrContentAnswer = (Literal)e.Item.FindControl("ltrContentAnswer");
                    ltrContentAnswer.Text = Info.Answer;
                }
            }
            catch { }
        }
    }
}